#ifndef WIDGETUTILS_H
#define WIDGETUTILS_H

#include <QtGlobal>
#include <QSize>
#include <QMessageBox>
#include <QVariant>
#include <QModelIndex>
#include <QList>

class QScreen;

namespace stitch{
class WidgetUtils
{
public:
    WidgetUtils() = delete;

    static qreal calculateScaleFactor(const QScreen *p_screen = nullptr);

    static void updateStyle(QWidget *p_widget);

     static QString getMonospaceFont();

    static QShortcut *createShortcut(const QString &p_shortcut,
                                     QWidget *p_widget,
                                     Qt::ShortcutContext p_context = Qt::WindowShortcut);
    static bool isMetaKey(int p_key);
    static void openUrlByDesktop(const QUrl &p_url);
    static void addActionShortcut(QAction *p_action,
                                  const QString &p_shortcut,
                                  Qt::ShortcutContext p_context = Qt::WindowShortcut);
};
}
#endif // WIDGETUTILS_H
